From 8e73d3d71c9904a0de911f955b431c25fd63e2d1 Mon Sep 17 00:00:00 2001 From: Keir Fraser Date: Mon, 21 Dec 2009 10:47:34 +0000 Subject: [PATCH] Fix bugs in frame table setup function when memory hot-add. Signed-off-by: Jiang, Yunhong --- xen/arch/x86/x86_64/mm.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/xen/arch/x86/x86_64/mm.c b/xen/arch/x86/x86_64/mm.c index 84b483a497..a6954c743e 100644 --- a/xen/arch/x86/x86_64/mm.c +++ b/xen/arch/x86/x86_64/mm.c @@ -840,7 +840,8 @@ void cleanup_frame_table(struct mem_hotadd_info *info) eva = (unsigned long)pdx_to_page(pfn_to_pdx(epfn)); /* Intialize all page */ - memset(mfn_to_page(spfn), -1, mfn_to_page(epfn) - mfn_to_page(spfn)); + memset(mfn_to_page(spfn), -1, + (unsigned long)mfn_to_page(epfn) - (unsigned long)mfn_to_page(spfn)); while (sva < eva) { @@ -932,7 +933,8 @@ int extend_frame_table(struct mem_hotadd_info *info) cidx = find_next_zero_bit(pdx_group_valid, eidx, nidx); } - memset(mfn_to_page(spfn), 0, mfn_to_page(epfn) - mfn_to_page(spfn)); + memset(mfn_to_page(spfn), 0, + (unsigned long)mfn_to_page(epfn) - (unsigned long)mfn_to_page(spfn)); return 0; } -- 2.30.2